package com.clickpaas.governmentcloud.entity.policyEntity;

import com.clickpaas.governmentcloud.utils.entityutils.ConditionalNotEmpty;
import com.opencsv.bean.CsvBindByName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@Data
public class PolicyEntity implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	/**
	 * 公司名称
	 */
//	@ConditionalNotEmpty(errorMessage = "公司名称不能为空")
	@CsvBindByName(column = "公司名称")
	@ApiModelProperty(value="公司名称",name="corpName")
	private String corpName;
	
	/**
	 * 企业名称
	 */
	@CsvBindByName(column = "企业名称")
	@ApiModelProperty(value="企业名称",name="enterpriseName")
	private String enterpriseName;
	/**
	 * 企业所属区域
	 */
	@CsvBindByName(column = "所属镇")
	@ApiModelProperty(value="企业所属区域",name="enterpriseArea")
	private String enterpriseArea;
	/**
	 * 注册资本
	 */
	@CsvBindByName(column = "注册资本")
	@ApiModelProperty(value="注册资本",name="registeredCapital")
	private Integer registeredCapital; 
	/**
	 * 注册时间
	 */
	@CsvBindByName(column = "注册时间")
	@ConditionalNotEmpty(errorMessage = "注册时间不能为空")
	@ApiModelProperty(value="注册时间",name="registeredTime")
	private String registeredTime;
	/**
	 * 所属行业（多选）
	 */
//	@ConditionalNotEmpty(errorMessage = "所属行业不能为空")
	@ApiModelProperty(value="所属行业（多选）",name="industrys")
	private List<String> industrys;
	/**
	 * 主要产品或服务
	 */
	@ApiModelProperty(value="主要产品或服务",name="mainProductsOrServices")
	private String mainProductsOrServices;
	/**
	 * 所属园区
	 */
	@CsvBindByName(column = "所属区")
	@ApiModelProperty(value="所属园区",name="park")
	private String park;
	/**
	 * 企业规模
	 */
//	@ConditionalNotEmpty(errorMessage = "企业规模不能为空")
	@CsvBindByName(column = "企业规模")
	@ApiModelProperty(value="企业规模",name="enterpriseName")
	private String enterpriseScale;
	/**
	 * 独立法人
	 */
	@CsvBindByName(column = "是否独立法人")
	@ApiModelProperty(value="独立法人",name="independentLegalPerson")
	private String independentLegalPerson;
	/**
	 * 是否存在违法违规失信行为
	 */
	@ConditionalNotEmpty(errorMessage = "是否存在违法违规失信行为不能为空")
	@ApiModelProperty(value="是否存在违法违规失信行为",name="dishonesty")
	private String dishonesty;
	/**
	 * 参与标准制定
	 */
//	@ConditionalNotEmpty(errorMessage = "参与标准制定不能为空")
	@ApiModelProperty(value="参与标准制定",name="participateDevelopment")
	private Integer participateDevelopment;
	/**
	 * 是否在行业细分市场领域内国内排名前10
	 */
	@ApiModelProperty(value="是否在行业细分市场领域内国内排名前10",name="industryTop10")
	private String industryTop10;
	/**
	 * 市占率
	 */
	@ApiModelProperty(value="市占率",name="marketShare")
	private String marketShare;
	/**
	 * 特：品牌具有一定特色，获得过驰名商标、著名商标、名牌产品等荣誉称号（项）
	 */
	@ApiModelProperty(value="特：品牌具有一定特色，获得过驰名商标、著名商标、名牌产品等荣誉称号（项）",name="brandCharacteristics")
	private Integer brandCharacteristics;
	/**
	 * 新：提供产品或服务满足“四新”经济发展特征，具有一定创新性，估值 （亿美元）
	 */
	@ApiModelProperty(value="新1：提供产品或服务满足“四新”经济发展特征，具有一定创新性，估值 （亿美元）",name="productOrService")
	private String productOrService;
	/**
	 * 新：提供产品或服务满足“四新”经济发展特征，具有一定创新性，估值 （亿美元）
	 */
	@ApiModelProperty(value="新2：提供产品或服务满足“四新”经济发展特征，具有一定创新性，估值 （亿美元）数字",name="productOrService2")
	private BigDecimal productOrService2;
	/**
	 * 企业资质
	 */
	@ApiModelProperty(value="企业资质",name="enterpriseQualification")
	private List<String> enterpriseQualification;
	/**
	 * 职工总数
	 */
	@CsvBindByName(column = "职工总数")
	@ApiModelProperty(value="职工总数",name="empTotal")
//	@ConditionalNotEmpty(errorMessage = "职工总数不能为空")
	private Integer empTotal;
	/**
	 * 研发人员数
	 */
//	@ConditionalNotEmpty(errorMessage = "研发人员数不能为空")
	@ApiModelProperty(value="研发人员数",name="dpersonnel")
	private Integer dpersonnel;
	/**
	 * 发明专利数（一类）
	 */
	@CsvBindByName(column = "发明专利数")
	@ApiModelProperty(value="发明专利数（一类）",name="inventionPatentsNumberOneClass")
	private Integer inventionPatentsNumberOneClass;
	/**
	 * 实用新型专利数（二类）
	 */
	@CsvBindByName(column = "实用新型专利数")
	@ApiModelProperty(value="实用新型专利数（二类）",name="utilityModelPatentsTwoClass")
	private Integer utilityModelPatentsTwoClass;
	/**
	 * 外观专利数（二类）
	 */
	@CsvBindByName(column = "外观专利数")
	@ApiModelProperty(value="外观专利数（二类）",name="appearancePatentsTwoClass")
	private Integer appearancePatentsTwoClass;
	/**
	 * 软件著作权数（二类）
	 */
	@CsvBindByName(column = "软件著作权数")
	@ApiModelProperty(value="软件著作权数（二类）",name="softwareCopyrightTwoClass")
	private Integer softwareCopyrightTwoClass;
	/**
	 * 集成电路数（一类）
	 */
	@CsvBindByName(column = "集成电路数")
	@ApiModelProperty(value="集成电路数（一类）",name="integratedCircuitsOneClass")
	private Integer integratedCircuitsOneClass;
	/**
	 * 上年度高新产品（或服务）收入（万元）
	 */
//	@ConditionalNotEmpty(errorMessage = "上年度高新产品（或服务）收入不能为空")
	@ApiModelProperty(value="上年度高新产品（或服务）收入（万元）",name="highTechProductsOfLastYear")
	private Integer highTechProductsOfLastYear;
	/**
	 * 大前年研发费用（万元）
	 */
//	@ConditionalNotEmpty(errorMessage = "大前年研发费用不能为空")
	@ApiModelProperty(value="大前年研发费用（万元）",name="dexpensesInTheYearBefore")
	private Integer dexpensesInTheYearBefore;
	/**
	 * 前年研发费用（万元）
	 */
//	@ConditionalNotEmpty(errorMessage = "前年研发费用不能为空")
	@ApiModelProperty(value="前年研发费用（万元）",name="dExpensesOfThePreviousYear")
	private Integer dexpensesOfThePreviousYear;
	/**
	 * 去年研发费用（万元）
	 */
//	@ConditionalNotEmpty(errorMessage = "去年研发费用不能为空")
	@ApiModelProperty(value="去年研发费用（万元）",name="dExpensesLastYear")
	private Integer dexpensesLastYear;
	/**
	 * 科技成果转化（项）
	 */
//	@ConditionalNotEmpty(errorMessage = "科技成果转化（项）不能为空")
	@ApiModelProperty(value="科技成果转化（项）",name="technologicalAchievements")
	private Integer technologicalAchievements;
	/**
	 * 是否建立制定并完善《企业研发的组织管理制度》等研发管理制度体系（知识产权保护、人才引进培养、创新激励）
	 */
//	@ConditionalNotEmpty(errorMessage = "是否建立制定并完善不能为空")
	@ApiModelProperty(value="是否建立制定并完善《企业研发的组织管理制度》等研发管理制度体系（知识产权保护、人才引进培养、创新激励）",name="formulatedAndImproved")
	private String  formulatedAndImproved;
	/**
	 * 是否同1所以上大学或科研院校签订产学研合作协议。
	 */
//	@ConditionalNotEmpty(errorMessage = "是否同1所以上大学或科研院校签订产学研合作协议不能为空")
	@ApiModelProperty(value="是否同1所以上大学或科研院校签订产学研合作协议。",name="researchInstitution")
	private String researchInstitution;
	/**
	 * 是否有研发场地、研发设备等
	 */
//	@ConditionalNotEmpty(errorMessage = "是否有研发场地、研发设备等不能为空")
	@ApiModelProperty(value="是否有研发场地、研发设备等",name="researchAndDevelopmentSite")
	private String researchAndDevelopmentSite;
	/**
	 * 是否有良好的经营管理团队，有较强的风险控制机制和健全的规章制度
	 */
	@ApiModelProperty(value="是否有良好的经营管理团队，有较强的风险控制机制和健全的规章制度",name="rulesAndRegulations")
	private String rulesAndRegulations;
	/**
	 * 是否有在建项目
	 */
	@ApiModelProperty(value="是否有在建项目",name="projectsUnderConstruction")
	private String projectsUnderConstruction;
	/**
	 * 项目内容
	 */
	@ApiModelProperty(value="项目内容",name="projectContent")
	private String projectContent;
	/**
	 * 年服务中小企业数量
	 */
	@ApiModelProperty(value="年服务中小企业数量",name="annualNumberOfSMEs")
	private Integer annualNumberOfSMEs;
	/**
	 * 资产总额（万元）
	 */
	@CsvBindByName(column = "资产总额")
	@ApiModelProperty(value="资产总额（万元）",name="totalAssets")
	private Integer totalAssets;
	/**
	 * 净资产（万元）
	 */
	@ApiModelProperty(value="净资产（万元）",name="netAssets")
	private Integer netAssets;
	/**
	 * 净资产增长率（%）
	 */
//	@ConditionalNotEmpty(errorMessage = "净资产增长率不能为空")
	@ApiModelProperty(value="净资产增长率（%）",name="growthRateOfNetAssets")
	private Integer growthRateOfNetAssets;
	/**
	 * 负债总额（万元）
	 */
	@CsvBindByName(column = "负债总额")
	@ApiModelProperty(value="负债总额（万元）",name="totalLiabilities")
	private Integer totalLiabilities;
	/**
	 * 大前年营业收入（万元）
	 */
	@CsvBindByName(column = "大前年营业收入")
//	@ConditionalNotEmpty(errorMessage = "大前年营业收入不能为空")
	@ApiModelProperty(value="大前年营业收入（万元）",name="yearBeforeTheUniversity")
	private Integer yearBeforeTheUniversity;
	/**
	 * 前年营业收入（万元）
	 */
	@CsvBindByName(column = "前年营业收入")
//	@ConditionalNotEmpty(errorMessage = "前年营业收入不能为空")
	@ApiModelProperty(value="前年营业收入（万元）",name="businessIncomeOfThePpreviousYear")
	private Integer businessIncomeOfThePpreviousYear;
	/**
	 * 去年度营业收入（万元）
	 */
	@CsvBindByName(column = "去年度营业收入")
//	@ConditionalNotEmpty(errorMessage = "去年度营业收入不能为空")
	@ApiModelProperty(value="去年度营业收入（万元）",name="businessIncomeOfLastYear")
	private Integer businessIncomeOfLastYear;
	/**
	 * 大前年净利润（万元）
	 */
	@CsvBindByName(column = "大前年净利润")
	@ApiModelProperty(value="大前年净利润（万元）",name="annualNetProfitOfThePreviousYear")
	private Integer annualNetProfitOfThePreviousYear;
	/**
	 * 前年净利润（万元）
	 */
	@CsvBindByName(column = "前年净利润")
	@ApiModelProperty(value="前年净利润（万元）",name="netProfitOfThePreviousYear")
	private Integer netProfitOfThePreviousYear;
	/**
	 * 去年度净利润（万元）
	 */
	@CsvBindByName(column = "去年度净利润")
	@ApiModelProperty(value="去年度净利润（万元）",name="netProfitOfLastYear")
	private Integer netProfitOfLastYear;
	/**
	 * 上一年度税收总额（万元）
	 */
	@CsvBindByName(column = "上一年度税收总额")
	@ApiModelProperty(value="上一年度税收总额（万元）",name="totalTaxRevenueOfLastYear")
	private Integer totalTaxRevenueOfLastYear;
	/**
	 * 去年节约能耗(KWh）
	 */
	@ApiModelProperty(value="去年节约能耗(KWh）",name="energySavingLastYear")
	private Integer energySavingLastYear;
	/**
	 * 是否留学人员
	 */
	@ApiModelProperty(value="是否留学人员",name="overseasStudentsOrNot")
	private String overseasStudentsOrNot;
	/**
	 * 年龄
	 */
	@ApiModelProperty(value="年龄",name="age")
	private Integer age;
	/**
	 * 户籍
	 */
	@ApiModelProperty(value="户籍",name="householdRegister")
	private String householdRegister;
	/**
	 * 主持或参与项目/课题情况
	 */
	@ApiModelProperty(value="主持或参与项目/课题情况",name="hostingOrParticipatingInProjects")
	private String hostingOrParticipatingInProjects;
	/**
	 * 子领域
	 */
	@ApiModelProperty(value="子领域",name="subfield")
	private List<String> subfield;
	/**
	 * 研发设备原值(万元)
	 */
	@ApiModelProperty(value="研发设备原值(万元)",name="equipmentOriginalValue")
	private Integer equipmentOriginalValue;
	/**
	 * 是否承担国家、本市重点项目
	 */
	@ApiModelProperty(value="是否承担国家、本市重点项目",name="undertakeKeyProjects")
	private String undertakeKeyProjects;
	/**
	 * 行业排名
	 */
	@ApiModelProperty(value="行业排名",name="industrialRanking")
	private String industrialRanking;
	/**
	 * 是否符合国家和本市产业发展导向
	 **/
	@ApiModelProperty(value = "是否符合国家和本市产业发展导向",name="conformDevelopmentOrientation")
	private String conformDevelopmentOrientation;
	/**
	 * 新增投资额（万元）
	 **/
	@ApiModelProperty(value = "新增投资额（万元）",name="investAmount")
	private Integer investAmount;
	/**
	 * 是否拥有经认定的省部级以上研发机构
	 **/
	@ApiModelProperty(value = "是否拥有经认定的省部级以上研发机构",name="rdInstitution")
	private String rdInstitution;
	/**
	 * 是否融资租赁先进设备
	 **/
	@ApiModelProperty(value = "是否融资租赁先进设备",name="financeLeasing")
	private String financeLeasing;
	/**
	 * 购置智能制造核心设备
	 **/
	@ApiModelProperty(value = "购置智能制造核心设备",name="equipment")
	private String equipment;
	/**
	 * 设备采购金额是否大于50万
	 **/
	@ApiModelProperty(value = "设备采购金额是否大于50万",name="morethanFiveHundredThousand")
	private String morethanFiveHundredThousand;
	/**
	 * 企业是否上市
	 **/
	@ApiModelProperty(value = "企业是否上市",name="tobeListed")
	private String tobeListed;
	/**
	 * 是否已获财政支持
	 **/
	@ApiModelProperty(value = "是否已获财政支持",name="financialSupport")
	private String financialSupport;
	/**
	 * 资产负债率（%）
	 **/
	@CsvBindByName(column = "资产负债率")
	@ApiModelProperty(value = "资产负债率（%）",name="assetliability")
	private BigDecimal assetliability;
	/**
	 * 去年营业收入增长率（%）
	 **/
	@CsvBindByName(column = "去年营业收入增长率")
	@ApiModelProperty(value = "去年营业收入增长率（%）",name="lastyearprofit")
	private BigDecimal lastyearprofit;
	/**
	 * 前3年主营业务收入平均增长率（%）
	 **/
	@CsvBindByName(column = "前3年主营业务收入平均增长率")
	@ApiModelProperty(value = "前3年主营业务收入平均增长率（%）",name="ftyincome")
	private BigDecimal ftyincome;
	/**
	 * 前3年净利润平均增长率%
	 **/
	@CsvBindByName(column = "前3年净利润平均增长率")
	@ApiModelProperty(value = "前3年净利润平均增长率%",name="ftyprofitrate")
	private BigDecimal ftyprofitrate;
	/**
	 * 去年净利润增长率（%）
	 **/
	@CsvBindByName(column = "去年净利润增长率")
	@ApiModelProperty(value = "去年净利润增长率（%）",name="lyprofitrate")
	private BigDecimal lyprofitrate;
	/**
	 * 类别 type
	 **/
	@ApiModelProperty(value = "类别 type",name="type")
	private String type;
	/**
	 * 是否高新技术企业 isHighTech
	 **/
	@CsvBindByName(column = "是否高新技术企业")
	@ApiModelProperty(value = "是否高新技术企业 isHighTech",name="isHighTech")
	private String isHighTech;
	/**
	 * 是否专精特新企业 isZjtx
	 **/
	@CsvBindByName(column = "是否专精特新企业")
	@ApiModelProperty(value = "是否专精特新企业 isZjtx",name="isZjtx")
	private String isZjtx;
	/**
	 * 是否科技中小企业 isTech
	 **/
	@CsvBindByName(column = "是否科技中小企业")
	@ApiModelProperty(value = "是否科技中小企业 isTech",name="isTech")
	private String isTech;
	/**
	 * 数据来源类别:批量操作(开发操作)or用户操作(用户操作)
	 **/
	@ApiModelProperty(value = "数据来源类别 TypeofDataSource",name="typeofDataSource")
	private String typeofDataSource;

}
